home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-11 | 56.0 KB | 1,266 lines |
-
-
-
-
-
-
-
-
-
-
- GDS - Graphics Display System
- -----------------------------
-
- Written by Paul Schmidt
- Distributed by Phase II Electronics Inc.
-
-
-
- Copyright (c) 1990,1991 Paul Schmidt
- All rights reserved.
-
-
-
-
-
-
-
-
-
- i. CONTENTS
- -----------
-
- Legal Notices.............................................i
- Introduction.............................................ii
- Note About Use..........................................iii
- What GDS Can Do For You..................................iv
- What GDS Does NOT Do!.....................................v
-
- Getting Started...........................................1
- The GDS Text Screen.......................................2
- Viewing Commands..........................................3
- Slide Shows...............................................4
- Antialiasing..............................................5
- Dithering.................................................6
- Command Line Parameters...................................7
- Configuration File Details................................8
- Common Problems And Solutions.............................9
- Bug Reports..............................................10
- Revision History.........................................11
-
-
- GDS will be available in 3 versions...
-
- 1. This "demo" version.
- 2. The ShareWare version for $35.
- 3. The Full Blown Commercial version.
- (price not set at present.)
-
- Distribution and support will be provided by...
-
- Phase II Electronics Inc.
- 19 Sands Point Drive
- Toms River New Jersey 08755-5167
- Phone (908) 286-0080, Fax (908) 349-3842
- Compuserve 76667,1522 Bob Holland
-
- i. Legal Notices
- ----------------
- GDS105.ZIP may be distributed and used freely without ANY modifications
- to the program and/or the included documentation. Any changes to the
- original distribution files will be considered an infringement on the
- rights of the author.
-
- Any attempt to disassemble and/or extract code from this product will
- be considered copyright infringement and is punishable by law.
-
- Phase II and associates hereby disclaims all warranties relating to
- this software, whether express or implied, including without limitation
- any implied warranties of merchantability or fitness for a particular
- purpose. Phase II will not be liable for any special, incidental,
- consequential, indirect or similar damages due to loss of data/damage to
- hardware or any other reason, even if Phase II or an agent of Phase II
- has been advised of the possibility of such damages. In no event shall
- Phase II's liability for any damages ever exceed the price paid for the
- license to use the software, regardless of the form of the claim. The
- person using the software bears all risk as to the quality and
- performance of the software.
-
-
-
- ii. INTRODUCTION
- ----------------
-
- One day, I was working on a simple card game and needed a variety of
- cardback graphics. I referred to a library of GIF files for some good
- scenery to put on the backs of cards and found about 30 files which had
- nice scenery and pieces which could be used quite nicely. Then I went to
- hell.
-
- First, I converted a set of GIFs into IFF format and loaded them into
- Deluxe Paint II Enhanced. Deluxe Paint is one of the more powerful paint
- programs, and I was very surprised to find that the brush size is limited
- to 64K (a forgivable programming limit). After messing around with grids
- and reducing chunks of images down in a nice orderly fashion, I did not
- get the results that I wanted, I deleted the whole bunch.
-
- I was very happy to find a program called 'GIFDESK' on a bulletin
- board. It seemed to be just what I was looking for, and it solved
- another problem for me also. The documentation said it could reduce
- GIFs, but it was designed for cataloging pictures, rather than just image
- reduction. Great! Now I could get the graphics done, and I could
- catalog my 150 megabytes of GIFs!
-
- WRONG. GIFDESK is great for a simple catalog program, but it doesn't do
- much for preserving images. The version I have simply grabs dots from
- the original and slaps them in a reduced space. Although I'm not sure,
- it seems to also use a generic palette which further reduces the quality.
- In short, all images get stomped on, some are very simply unrecognizable.
-
- Another problem which was mounting in the back of my mind was that
- every GIF viewer I've seen either has mounds of technical problems/
- quirks/bugs, or a user interface that would scare the adverage
- user.
-
- I was disgusted, in between projects, and wired on coffee. I
- downloaded CompuServe's GIF file specifications for encoding and decoding
- and got to work. A day later, GDS was a reality.
-
- I make no claims that GDS is everything. The general outline of the
- program is based around a very few simple concepts, and there is
- certainly room for improvement.
-
- To my knowledge, there is no shareware program which can reduce and/or
- catalog GIF images with the integrity that GDS does.
-
-
-
- iii. NOTE ABOUT USE
- -------------------
-
- This is a shareware program. That doesn't mean it's free...but on the
- other hand, I'm not asking anything for it's personal use either. If you
- decide you must force money on me for the registered version, I'll
- understand, but feel free to explore without retribution.
-
- This program was developed using tools and techniques which have taken
- me many years to develop, and I hope it shows. Because of this, the
- following points will be taken very seriously:
-
- ** DO NOT ** derive benefit from this software professionally in any
- manner. DO NOT sell it. DO NOT bundle it with any combination of
- products sold for money (this does not include shipping charges for
- shareware distributors).
-
- BBS SYSOPS: Please use GDS to catalog your GIFs for your users! I would
- like to know you are using it, how you like it, and information about
- your setup. I am very interested in providing good software (like this)
- to sysops, but I'm not about to write any more unless you all communicate
- with me. Again, I don't want money, I just want to get your feedback.
-
- PEOPLE WHO COMPLAIN: There are advanced parts of the GDS user interface
- which could use some simplification. While this is true for you advanced
- users, I'm estimating that 95% of the users won't do much more than
- double click with a mouse or do slide shows. These two facets of GDS are
- very simple. As for the parts which could use help? When I have a time,
- I'll improve them.
- -Paul
-
-
- iv. WHAT GDS CAN DO FOR YOU
- ---------------------------
-
- 1) GIF VIEWER
- GDS is a very intuitive graphics file viewer. It has a (very quickly
- implemented) user interface based on many years of GUI experience. If
- you find an easier graphics viewer, please let me know.
-
- 2) FILE FORMATS
- GDS reads GIF, LBM, PCX, RIX, and MAC files. It can write GIF, PCX,
- and RIX files directly from the screen. Other formats may be added in
- future versions. If you really need a format supported for something,
- FAX or write me a note.
-
- 3) SLIDE SHOWS
- GDS can easily allow you to queue up to 2800 images to show in a
- repeated sequence. At 5 seconds per image, that's just under four hours
- without repeating an image. GDS reads successive images ahead of time
- into EMS or system RAM to minimize draw time, increasing the appearance
- of the slide show.
-
- 4) IMAGE PROCESSING
- GDS can scale images to almost any size. This capability comes in very
- handy if you're trying to reduce, enlarge or correct image scaling.
- NOTE: Give system operators a break and don't use GDS to make larger GIF
- files for more download credit.
-
- 5) ARRAYS
- GDS has a very good image cataloging section which reduces and labels
- arrays of images on the screen. GDS creates spatially optimized
- palettes, uses two levels of dithering and two dimensional antialiasing
- to reduce color distortion. GDS can reduce up to 2304 images onto a
- single 1024x768 graphics screen. If you are a system operator of a BBS,
- this is a great way to provide previews of many images to your users.
-
- 6) SCREEN CONVERSION
- GDS can lock a screen mode, reduce and enlarge images to fit, or scale
- and zoom to almost any dimensions. 256 color images can easily be
- converted to 16 color images with antialiasing and dithering to ensure
- spatial color consistency.
-
- 7) MOUSE SUPPORT
- GDS is very mouse supportive (does that make it cheezy?). Although
- almost everything can be done with the keyboard (a couple of things can
- ONLY be done with the keyboard), there is extensive mouse support in GDS.
- Unless you are writing or rescaling images, GDS is extremely quick with a
- mouse.
-
-
-
- v. WHAT GDS DOES NOT DO!
- ------------------------
-
- 1) TIFF FILES
- GDS makes no attempt to read or write TIFF files. I sat down with some
- TIFF documentation one night to support the TIFF file format, and spent
- several hours setting up a code skeleton. After concentrating for quite
- a while, I finally realized how the format worked, and vowed never to
- support it. Use someone else's program to convert TIFF files into
- something reasonable, and hopefully, TIFF will disappear forever (wishful
- thinking).
-
- 2) WRITING FORMATS
- GDS doesn't write LBM or MAC files. It's something I could do, but
- haven't and don't have much of a use for. GDS writes GIF, PCX, and RIX
- files. Deluxe Paint II Enhanced (LBM files) will read PCX files. If you
- really need support for writing a format, FAX or write me a note and
- we'll discuss it.
-
- 1. GETTING STARTED
- ------------------
-
- Since you can read this, you must have either gotten GDS as a set of
- files, or already UNZIPped it out of it's original ZIP file.
-
- GDS can quickly be started by typing 'GDS' followed by 'Enter'. GDS
- should run with no command line options. GDS can also be started from
- any path by specifying it's path on the command line. It can also be run
- if it's in the machine's PATH= list.
-
- GDS parses file/path specifications and runtime switches as command
- line parameters. Any number of paths/files may be specified to GDS.
- However, if no actual files are found to work with, GDS will say so and
- exit to DOS. GDS can't run without files to work with. The following
- command line is typical and completely safe:
-
- C> GDS i:\dp\*.lbm j:\GIFs openscrn.gif
-
- The first path specifies all LBM files in the 'DP' directory on drive
- I:. The second path specifies all readable files in the 'GIFS' directory
- on drive J:. The third path specifies the single file 'OPENSCRN.GIF' in
- the currently logged directory. If no path names are given, the current
- directory is used ('*').
-
- If you have problems getting GDS to run, refer to the section titled
- 'Common Problems and Solutions'. The most common problem is an
- unsupported video board.
-
-
-
- 2. THE GDS TEXT SCREEN
- ----------------------
-
- After configuring GDS and getting it to function, the user is presented
- with a screen containing a file display consisting of file names,
- extensions, and file sizes in a columnar format. The top line of the
- screen always shows the version number and copyright message.
-
- Getting out of GDS is easy. Just hit 'Esc' or click on the 'Quit'
- button.
-
- The user may view images by pressing 'Enter' (or double clicking) on a
- file name. The space bar toggles the selection state of the file under
- the file cursor. Mouse users can drag the mouse from one file to another
- to select all files in between. Mouse users can click on a file, which
- will deselect all currently selected files (when in single view mode) and
- select the file under the mouse cursor. When in single view mode, mouse
- users may toggle ranges of files by holding down the shift key and
- clicking/dragging, just like the Macintosh user interface. In the slide
- show mode, the mouse always acts like the shift key is held.
-
- For keyboard users, pressing the 'Enter' key starts a view in the
- current view mode (single or slides). Pressing 'Enter' does not change
- the selection state of ANY of the files in the file list. Use the space
- bar to toggle the selection state of files. (MOUSE USERS: It's usually
- easier to set up fragmented slide shows with the keyboard!)
-
- For mouse users, double clicking on a file will display that file alone
- in single view mode, regardless of the current view mode. Use the
- 'Enter' key or view button (see below) to initiate slide shows.
-
- Several buttons and menus are displayed in the second line of the
- screen and on the bottom line. These areas are referred to in this
- documentation as 'menu areas'.
-
- In between the file display and the bottom menu area are two lines
- displaying detailed information about the 'Current File'. This is
- referred to as the 'file status area'. As the file cursor is moved
- through the file list, GDS displays information about each file under the
- file cursor. This information includes the complete path and file name
- of the file, it's screen resolution, number of colors, and the exact file
- size in bytes.
-
- On the right side of the file status area, the total number of files
- and number of files selected are parenthetically displayed. The number
- of files selected will not be displayed unless files are currently
- selected.
-
- Directly to the right of the file status area is a help message which
- says "'Enter' views current selection" in a rectangle. This area is
- referred to as the 'view button'. This button is not important to
- keyboard users, except that it tells them what to do to display an image.
-
- The view button gives mouse users added flexibility because clicking it
- starts a slide show. If there is more than one file selected or NO files
- selected, the view button starts a slide show regardless of the current
- view mode. If there is one file selected, the view button will do a
- single view. For mouse users, it's easiest to use the 'View:' menu to
- change the behavior of single clicks in the file list (see above) and use
- the view button to start slide shows.
-
- Using the menus in GDS is simple from a keyboard or mouse. From the
- keyboard, hold down 'Alt' and then hit the key which matches the first
- highlighted character in the menu or button you want to change (or click
- on it with a mouse). If the menu or button you have selected has two or
- less functions (like the 'MOUSE:' button), then the state of the button
- just changes. If there are more than two choices, then GDS presents the
- user with a menu. When using the keyboard, the default menu selection
- will be highlighted. You are free to use the arrow keys to navigate the
- menus and press 'Enter' to select your option. You may also hit 'Esc' to
- cancel selecting from a menu. With a mouse, just click (or drag and let
- go on) your choice. To cancel selection with a mouse, just click (or let
- go) outside of the menu area.
-
- The functions of each menu or button are discussed below:
-
- Quit This button exits the program.
-
- AutO/LOck
- This button shows the state of screen mode locking. The default
- graphics mode is normally meaningless unless this button is in the 'LOck'
- state. Locking the screen mode forces images to be displayed in the
- graphics mode selected in the 'RES:...' menu. This is handy when
- reducing large images down to fit in smaller screen modes, or reducing
- 256 color images down to dithered 16 color images.
-
- RES:
- This menu allows the selection of the default graphics and text modes.
- The default graphics mode has no effect unless the 'AutO/LOck' button is
- in the 'LOck' state.
-
- VIEW:
- This menu allows the user to choose between 'Single' images and
- 'Slides' (slide shows). When this menu is in 'Single' mode, any
- selection of a file will deselect all other files first (unless the
- 'Shift' key is held). When this menu is in 'Slides' mode, mouse clicks
- never globally destructive to selections, but rather always modify the
- selected state of files. Note that with the mouse, double clicking
- always produces a single view regardless of the state of this menu.
-
- LABELS:
- This button tells whether or not labels are added to the bottom of
- array images. It has no significance to single views or slide shows.
- Since the 'label' and 'border' buttons have been added to the array
- generation screen, this button may disappear to give way to a more
- meaningful button or menu in the future.
-
- BORDERS:
- This button tells whether or not borders are drawn around array images.
- It has no significance to single views or slide shows. Since the 'label'
- and 'border' buttons have been added to the array generation screen, this
- button may disappear to give way to a more meaningful button or menu in
- the future.
-
- ALIAS:
- This menu allows the user to select what level of antialiasing is
- performed for reduced images (see 'ANTIALIASING' section below). Hint:
- The default antialiasing (horizontal only) is almost as fast as no
- antialiasing at all. However, high quality image reduction can take as
- much as 10 times longer depending on the level of reduction. In general,
- considering the increase in image quality, it's always worth using
- horizontal antialiasing, and usually worth using high quality image
- reduction.
-
- AboUt:
- This menu displays interesting information about GDS. It has no
- function except to entertain you.
-
- SORT:
- This menu allows the user to select the sort order for the file
- display. Selecting a new sort order immediately causes the file display
- to be rearranged. Note that selecting sort orders which require the
- resolution or number of bits per pixel will force GDS to research this
- information before a sort can be done. This is annoying sometimes, but
- hey...you can't sort information you don't have. GDS buffers the
- resolution and number of bits per pixel so that it only has to read it
- once.
-
- MOUSE:
- This button toggles the mouse between a bitmapped text cursor and a
- character cursor. Some video displays do not conform to the VGA hardware
- standard for text character sets and may cause GDS to display a garbled
- mouse cursor. If this happens, click on the 'MOUSE:; button. Note that
- the state of the mouse can be set in the configuration file so you don't
- have click the 'MOUSE:' button every time you run GDS.
-
- PALETTE:
- This menu controls the palette generation for array images. GDS will
- use no more colors in the palette than are specified in the 'PALETTE:'
- button. This setting normally has no effect on single views or slide
- shows. Note that this number can be set in the configuration file so you
- don't have to set it every time you'd like to create reduced palette
- arrays. Using the command line option is also useful in that it is not
- limited to a 'nice' number. The user can specify any number (like 27)
- for the number of colors to use.
-
- DITHER:
- This menu allows the user to specify the level of dithering to be used
- when generating array images. No dithering means that GDS will not try
- to increase color consistency. Two color dithering generates checker-
- board patterns which are functionally imperceptible except in low
- resolution graphics modes. Uneven dithering is more obvious than two
- color dithering, but greatly enhances the general look of 16 color
- renditions of images which start out with many more colors. Hint: There
- is almost no speed difference in using dithering. The biggest delay is
- the delay just before the image is read where GDS generates it's
- conversion table. There is almost no speed difference in putting up raw
- pixels vs. dithered pixels. In short, dithering doesn't slow GDS down
- perceptibly.
-
- FILESHOW:
- This menu allows the user to toggle different elements of the file
- display on and off. Note that these elements can be set on or off in the
- configuration file so you don't have to set it every time you run GDS.
-
-
-
- 3. VIEWING COMMANDS
- -------------------
-
- GDS has some interesting features when images are viewed alone. Images
- can be viewed alone by using 'Enter', or by double clicking a file with a
- mouse.
-
- Slide shows will not allow the user to do any of these functions.
- Arrays, on the other hand, will allow the user to write GIF, PCX, and RIX
- images ('Alt-W', 'Alt-P' and 'Alt-R'). Note that the 'Alt-W', 'Alt-P',
- and 'Alt-R' commands can be set up with the '/W###' option to
- automatically write a run of array images ONLY in the array view mode.
- Array images can also be adjusted with the color controls (F1-F10, ',',
- and '.').
-
- For those of you who realize that the user interface for some of the
- extended view functions isn't very nice, congratulations. Perhaps if you
- FAX me something, I'll improve it.
-
- When viewing a single image or a carefully generated array image, it is
- sometimes handy to adjust the palette manually. The F1 through F10, ',',
- and ',' keys adjust the red leve, green level, blue level, image
- contrast, image brightness and color level. Reset the individual levels
- by holding down the shift key and using the same keys. Every time a
- level is changed, the entire palette is recalculated from the original to
- prevent eventual palette degradation.
-
- Esc Always exits view mode.
- Enter Exits single view mode. During slide shows,
- 'Enter' exits if a slide is being drawn.
-
- Space:
- When viewing a single image, pressing the spacebar exits back to the
- file screen unless the scale of the image is not exactly the same as the
- original image (Note: sometimes the first image displayed is scaled, use
- space to return automatically scaled images to their original scale). In
- array generation mode, the spacebar will stop the display of any images
- in progress and skip directly to the next image in the list.
-
- Alt-W:
- Immediately starts writing a GIF file titled "GDS###.GIF". The number
- used in place of '###' is either 000 or whatever number was specified
- with the '/W###' command line parameter. This function will not
- overwrite existing files. Note that you can use the '/N<template>'
- command line parameter to change the name template for the files which
- are written.
-
- Alt-P:
- Exactly like Alt-W, but uses the extension ".PCX" instead. This may
- come in handy for those of you using Deluxe Paint II Enhanced or any of
- Z-Soft's software.
-
- Alt-R:
- Exactly like Alt-W, but uses the extension ".SC<c>" instead, where <c>
- is the screen resolution indicator as prescribed by RIX Software in
- Irvine, California. This may come in handy for those of you using RIX's
- imaging software. Note that GDS supports RIX 'UNCOMPRESSED' format only.
- RIX Software is not releasing any information about it's compressed
- formats. If you would like to see compressed RIX file support, don't
- bother asking me, and please ask RIX to allow developers to support it.
-
- Arrows:
- The arrow keys adjust the position of the lower right hand corner of
- the image rectangle. Using the arrow keys alone moves the lower right
- corner by two pixels at a time. Holding the shift key down while using
- the arrow keys moves it by 20 pixels at a time. If you manage to get the
- image messed up enough to start over, just hit the space bar and the
- image will redraw at it's default scale. This function is useful when
- used with Alt-F to fine tune the scale for image reduction. It's also
- very useful for correcting the size of images that are stored with an odd
- screen size.
-
- Alt-Z:
- Start 'zoom' sequence. WORKS ONLY WITH A MOUSE. Use 'Alt-Z' as
- follows when viewing an image: (1) Press 'Alt-Z'. (2) Move the mouse
- pointer to the upper left of a rectangle to zoom to the full screen size.
- (3) Press and hold down a mouse button. (4) While holding down the mouse
- button, drag the mouse pointer to the lower right of the desired
- rectangle. (5) Let go of the mouse button. The zoom function will
- preserve the current X to Y ratio for scaling in case you've adjusted it
- or used 'Alt-F' to fit the image to the screen. If you manage to zoom to
- the wrong place or mess things up beyond comprehension, just hit the
- space bar to redraw the image at it's default scale.
-
- Alt-F:
- Fit image to screen. This function ATTEMPTS to rescale an image to fit
- into the full screen. It is useful for scaling images down. Depending
- on the dimensions of the image, this may not produce the desired results.
- If the aspect ratio of the graphics mode or the image is not recognizable
- by GDS, the image may end up very distorted. If this happens, use the
- spacebar to redraw the image at it's original scale.
-
- F1/F2 Reduce/Increase palette red level.
- F3/F4 Reduce/Increase palette green level.
- F5/F6 Reduce/Increase palette blue level.
- F7/F8 Reduce/Increase contrast.
- F9/F10 Reduce/Increase brightness.
- ',' & '.' Reduce/Increase color. This function can reduce a
- full color image to grey scale by using ',' to completely eliminate all
- color content. The image can further be reduced to a monochrome image by
- increasing the contrast to maximum (F8). This color level control
- compensates for the eye's responsiveness to red, green, and blue for
- minimal color distortion.
-
- Shift-F1 Reset red level to that of original image.
- Shift-F3 Reset green level to that of original image.
- Shift-F5 Reset blue level to that of original image.
- Shift-F7 Reset contrast to that of original image.
- Shift-F9 Reset brightness to that of original image.
- Shift-',' Reset color to that of original image.
-
- Alt-F1, Alt-F2, Alt-F3, Alt-F4, Alt-F9, Alt-F10
- These keys do all sorts of neat stuff, but They are only functional in
- the professional version and need not be explained here.
- Have a nice day.
-
-
-
- 4. SLIDE SHOWS
- --------------
-
- GDS has two separate methods of generating slide shows. The first is to
- select a range of files from within the normal GDS user interface and set
- the 'View:' menu to 'Slides'. When GDS is in set this way, normal
- viewing of images results in a slideshow (except mouse double clicks; see
- VIEWING COMMANDS).
-
- The second method is to specify the '/S' option on the command line.
- GDS will bypass the normal user interface and immediately start a slide
- show using any files specified on the command line.
-
- The '/O' option is normally ON (1), which sorts the file list when the
- '/S' option is specified. Specifying '/S0' on the command line will
- prevent GDS from sorting the file list.
-
- The '/Z' option specifies the delay in 100ths of seconds between
- slides. Two seconds, for example, would be specified using '/Z200'. If
- '/Z' is not specified, GDS will wait for at least 5 seconds between each
- slide.
-
- It is often necessary to give a slideshow on a very specific set of
- files which may be inconvenient to enter on the command line. The
- '@<FILE>' option is used to tell GDS to read a list of filenames from
- <FILE>. Using the '@<FILE>' option can save you a lot of time and allow
- you to customize your slideshows to your heart's content. An example of
- a typical planned slideshow is as follows:
-
- C> gds /s @filelist /o
-
- The first option ('/s') tells GDS to do an automatic slide show. The
- second option ('@filelist') tells GDS to read the file 'filelist' for a
- list of files to show. The third option prevents GDS from sorting the
- file list.
-
-
-
- 5. ANTIALIASING
- ---------------
-
- Antialiasing is a term used to describe the color correction applied to
- pixel hues in order to maintain the overall appearance of an image. Most
- often, antialiasing means adjusting the colors along partially covered
- pixels when drawing a line on a bitmapped screen.
-
- GDS uses antialiasing only when reducing an image. It doesn't smooth
- out transitions between enlarged pixels. Perhaps in a future version,
- enlargement smoothing may be supported.
-
- GDS uses a very high performance antialiasing technique which scans
- colors from many original image pixels and combines them to form a single
- destination pixel. What this gives you is an extremely accurate
- representation of the original image, but using far less dots to do it.
-
- An interesting side effect of antialiasing is that it tends to reduce
- the size of the resulting GIF file. Originally, I expected the file size
- to increase, but was fascinated when it dropped by about 9.6% for each
- dimension of antialiasing applied.
-
-
-
- 6. DITHERING
- ------------
-
- GDS normally mixes colors together when appropriate in order to
- increase the apparent color resolution. A good example of this is when
- an image has a section which fades evenly from one color (like red) to
- another color (like blue). The result in the middle is purple. When
- images are reduced and combined on the same screen, the demand for colors
- is high. In high resolution GIF images, there are 256 colors per
- picture. If you try to mix 80 pictures together, you would need 20480
- colors in order to represent the pictures without any hardware color
- distortion.
-
- When GDS doesn't have a color available (like purple from the example
- above), it looks for two colors which when displayed closely together
- appear to have the color of the original pixels. This results in an
- almost imperceptible change from the original color in 256 color modes.
-
- Almost as interesting as the effect antialiasing has on resulting GIF
- file sizes, dithering increases GIF file size by about 9.6% for each
- level of dithering applied.
-
-
-
- 7. COMMAND LINE PARAMETERS
- --------------------------
-
- All command line parameters may be prefaced with a forward slash ('/')
- or a dash ('-'). Command line parameters are processed in the order they
- are received. Basically, they act like most other command line scheme.
-
- Available command line options are as follows:
-
- /A<n> Set default antialiasing level (0-2)
- /B<n> Set default mouse display mode (0-1)
- /D<n> Set default dithering level (0-2)
- /F#### Set default file display options
- /G<mode> Set default graphics display mode
- /H or /? Display help screen with these switches listed
- /I<n> Set early interlaced fill mode
- /L<n> Set default labels on/off switch
- /M<n> Set maximum number of colors in generated palette
- /N<temp> Set template for filename generation
- /O<n> Set sort flag for automatic slide shows (1=sort)
- /S<n> Slideshow mode (no user interface, just slides)
- /T<mode> Set default text display mode
- /V<n> Set vertical orientation mode
- /W<n> Set automatic array stream write after first Alt-W
- /Z<n> Set delay in between slides in slide shows
- /<NAME> Force graphics support
- /512 Force support for 512K VGA modes
- @<FILE> Get list of files from FILE.
-
-
- /B<n> This option sets the mode in which the text mouse cursor is
- displayed. When this option is set to 0, GDS will display a highlighted
- character as a text mouse cursor. When this option is set to 1, GDS will
- attempt to remap characters in the EGA/VGA character set to implement a
- graphics cursor in text mode. The default setting of this option is
- determined at runtime, and depends on the hardware you have. If your
- cursor doesn't look right, try changing the /B option in your GDS.CFG
- file.
-
-
- /F#### This option allows the user to specify what information should be
- displayed in the file list at startup. The four number (or pound) signs
- each hold a place for a 1 or a 0, indicating whether or not the given
- option is on or not. The list of file options is as follows:
-
- /F1??? Display file extension (default=0)
- /F?1?? Display image resolution (default=0)
- /F??1? Display number of bits per pixel (default=0)
- /F???1 Display file size (default=1)
-
-
- /G<mode> This option sets the default graphics mode to be used for
- display. The format of <mode> should be <n>x<n>x<n>, where the first
- value is the screen width, the second value is the screen height, and the
- third number is the number of bits per pixel (or number of colors). The
- number of bits per pixel is optional for this option. The default
- setting for this option is '/G640x480x8'.
-
-
- /H or /? This option displays the runtime help screen.
-
-
- /I<n> This option sets the 'early interlaced GIF fill mode' option.
- When interlaced images are drawn, GDS can fill in the breaks in between
- interlaced lines so the viewer gets a better image of what the the
- picture is as fast as possible. It appears that this was one of the
- intended uses of interlaced image format in the original GIF
- specification, but no other GIF viewers seem to do this. When this
- option is enabled (1), interlaced images draw a bit slower overall, but
- the user can see the general content of the picture in about one quarter
- of the time it takes to read the entire image. The default value of this
- switch is ON (or 1).
-
-
- /M<n> This option puts a ceiling on the number of colors GDS is allowed
- to use when it generates common palettes for combining many GIF images
- into arrays of images. This option is significant because the resulting
- file size of GIF files written with one bit less per pixel is about 9.5%
- smaller than the original number of bits per pixel. This means that a
- 128 color image will be approximately 91% of the size of the similar 256
- color. The disadvantage to limiting the palette is that the color
- resolution drops, and therefore the picture quality suffers.
-
-
- /N<template> This parameter sets the 'printf()' style template for
- filenames generated by GDS when array files are written. If you don't
- know what that means, DON'T MESS WITH IT! If you are familiar with
- printf(), then go ahead and change the template. The default string used
- by GDS for generating filenames is "GDS%03d", which creates a file such
- as "GDS042.GIF".
-
-
- /O<n> This option sets the sort flag for automatic slide shows (/S).
- This option has no effect when the '/S' option is not specified. To sort
- the file list before an automatic slide show, specify /O1. To leave the
- file list unsorted, specify /O0. The default value of this option is ON
- (or 0).
-
-
- /S This option specifies automatic slide show mode. In automatic
- slide show mode, no user interface is offered, and a slide show starts
- immediately after startup. See the '@<FILE>' option for a useful way to
- specify exactly what files to show.
-
-
- /T<mode> This option sets the default text mode to be used for
- display. The format of <mode> should be <n>x<n>, where the first value
- is the number of character columns, and the second value is the number of
- screen lines. The default value for this mode is '/T80x25'.
-
-
- /W<n> This rather quirky option sets the state of a mode wherein GDS
- will continue to generate and write array images (GIF, PCX, or RIX) after
- the first time you press Alt-W, Alt-P, or ALT-R, respectively. Using
- this option, GDS will run through hundreds of files and generate an image
- for each complete array screen. The default setting for this option is
- OFF (or 0).
-
-
- /Z<n> This options specifies the number of 100ths of seconds to delay
- in between slides during a slideshow. The default value is 5 seconds
- (91). The delay between slides can be completely eliminated by setting
- this option to 0.
-
- /<NAME> This option is used to force GDS to assume it has the named video
- card. Normally, this is not necessary or advisable. USE THIS OPTION
- WITH CARE. There is no telling what could happen if you force a graphics
- card which conflicts with the hardware you actually have. The following
- video cards are currently defined:
-
- /EGA Standard EGA or 100% compatible
- /VGA Standard VGA or 100% compatible
- /AHEAD Ahead Systems Chipset (type A)
- /AHEADB Ahead Systems Chipset (type B)
- /ATI ATI VGA Wonder
- /CHIPS Chips and Technologies Chipsets
- /EVEREX Everex Systems
- /GENOA Genoa 6000 series
- /OAK Oak Technologies
- /ORCHID Orchid Technologies
- /PARA Paradise Systems
- /TRIDNT ATI Prism Elite (Trident Chipsets)
- /TSENG Tseng Laboratories Chipset
- /TSENG4 Tseng Laboratories Chipset (4000 series)
- /VESA Standard VESA BIOS Interface
- /VID7 Video Seven VRAM or FASTWRITE VGA
- /ZYMOS Zymos HiRes 512K VGA
-
- NOTE: If you have any problems with the video modes listed in GDS.CFG, or
- find discrepancies, please FAX or write me a note. I'm interested in
- supporting cards, although my time is limited.
-
- /512 Force support for 512K VGA. If your video card has 512K of
- display RAM and you are unable to get GDS to support modes requiring
- 512K, try using the '/512' command line switch. If using this option is
- successful, you may wish to place this switch in GDS.CFG so you don't
- have to type it every time you run GDS. The default setting of this
- switch is 0 (off), and if /<NAME> is not specified, this switch is set by
- GDS when it tries to automatically detect what type of video adapter is
- present.
-
-
- @<FILE> This option reads a list of image files from
- <FILE>. FILE may be any valid path and filename. This is usually used
- with automatic slide shows (see '/S').
-
-
-
- 8. CONFIGURATION FILE DETAILS
- -----------------------------
-
- Unless you know what you are doing and are familiar with GDS, please stay
- away from the configuration file.
-
- GDS.CFG is set up to define all video modes for all display cards, and to
- give the user the ability to specify command line arguments which he
- doesn't feel like typing all the time. GDS.CFG will be read from the
- current directory first, and then from the execution path. If GDS.CFG is
- not found in either location, the program will object.
-
- Any semicolon (';') found in the input stream is interpreted as a
- comment. The semicolon and anything after it on the same line is
- ignored. It is simple to disable lines in the configuration file by
- placing a semicolon in front of it. Primarily, tabs, spaces, and blank
- lines are ignored.
-
- There are two types of configuration lines. The first defines a video
- mode, and the second specifies automatic command line options. The
- format of the video modes is as follows:
-
- A, B, C, D, E, F, G, H, I, J ;optional comment
-
- A) Name of the video card
- B) Horizontal screen resolution (number of columns)
- C) Vertical screen resolution (number of lines)
- D) Number of bits per pixel (or 0 for text mode)
- E) AX register on INT 21h call to set video mode (see I)
- F) BX register on INT 21h call to set video mode (see I)
- G) CX register on INT 21h call to set video mode (see I)
- H) DX register on INT 21h call to set video mode (see I)
- I) This option has one of three meanings:
- 1) 0 if video mode is a standard graphics mode
- 2) 1 if video mode is directly programmed (VGA register
- compatible cards only!
- 3) The base address of the screen if the video mode is a text
- mode (indicated by 0 bits per pixel) J) Dot Mode (0=normal, 1=ATI 16
- color chunky)
-
- To specify automatic command line options, add a line to GDS.CFG similar
- to the following example:
-
- AUTO, /m64 /t132x44 ;limit palette to 64 colors
-
- This example will behave as if you typed '/m64 /t132x44' on the command
- line. All automatic command line parameters will be processed AFTER the
- actual command line parameters.
-
- There are examples of each of these two types of command lines in the
- included GDS.CFG file. There are also comments in the file which should
- offer more information.
-
-
-
- 9. COMMON PROBLEMS AND SOLUTIONS
- --------------------------------
-
- The following PROBLEM and SOLUTION pairs are included to help you figure
- out what's wrong with your setup or GDS. Each individual entry came from
- the experience of supporting people who have problems with GDS.
-
- PROBLEM: After GDS starts, it keeps doing something with the disk
- drive which makes me paraniod! I don't like it and I want it to stop.
- SOLUTION: This inquisitive behavior is perfectly normal for GDS.
- Don't worry, it's not a virus deleting your files! GDS reads the number
- of bits per pixel and screen resolution for every file in the file list
- whenever you haven't done anything interesting for a few seconds. It
- will read about 15 listings and then pause for a couple of seconds and
- repeat this pattern until it has read every file. It does this so you
- don't have to wait for a long time if you want to sort by something which
- needs to be read from every file (like number of bits per pixel or screen
- resolution). If you do anything with the user interface or hit any keys,
- GDS will stop reading these files instantly.
-
- PROBLEM: The file cursor flashes on and off very fast on some
- files and GDS will not display them. GDS displays the horizontal
- resolution of the file as '-1'.
- SOLUTION: GDS does this because GDS thinks there is an error in the
- file. If you don't believe there's an error in the header of the file,
- try displaying the file with another viewer. FAX or write me a note if
- you find a file that GDS will not display, but other viewers will.
-
- PROBLEM: GDS won't run, and gives me an error that says it doesn't
- know what kind of video card I have.
- SOLUTION: If you're sure you have a video card which is compatible
- with the listings in GDS.CFG, then use the '/<NAME>' option to tell GDS
- what card to use. You will also have to use the '/512' option if you
- have 512K of video RAM. If you don't know what kind of video card you
- have, then you probably have one which is incompatible with GDS. If
- you'd like to see the card supported, send me the technical reference
- information with a brief cover letter. If you really know what you're
- doing, you can add modes to an existing board. None of these suggestions
- is supported.
-
- PROBLEM: GDS displays the top part of 256 color images fine, but
- the bottom part is either black or garbled.
- SOLUTIONS:
- A) Try locking each extended screen mode in the 'Res:' menu and
- displaying files with it. See which ones screw up.
-
- B) Check to see if there is enough RAM on your video card to use
- the display mode you're trying to go into. If not, you can disable the
- offending mode using a semicolon (';') in GDS.CFG.
-
- C) Look in GDS.CFG to see if the screen modes which screw up are
- actually supported by your video card, and not by a different video card.
- You may have to experiment with the GDS configuration file to get a
- reliable list of modes to use.
-
- PROBLEM: Some pictures I have are squished to the left of the
- screen when I view them with GDS.
- SOLUTION: Yeah. Some are. Depending on the graphics mode that the
- image was stored on and the different graphics modes GDS supports for
- your video board, the aspect ratio of images can be way off. GDS will
- not modify the literal dimensions of a picture unless the picture is TOO
- BIG to fit on the screen (if so, GDS will scale it down). These squished
- images were written with a screen size which has a much greater aspect
- ratio horizontally than the screen you have. Most of the time, you can
- simply hit 'Alt-F' to fit the image into the screen. Sometimes, however,
- people (morons) store the images squished into normal screen sizes. When
- 'Alt-F' doesn't work, try using the arrow keys (the 'Shift' key makes the
- arrows more powerful). To actually FIX these images, just manipulate the
- image until it fits nicely into the screen and write the image to a new
- file using 'Alt-W', 'Alt-P', or 'Alt-R'.
-
- PROBLEM: I see garbage on the text screen around the mouse pointer
- whenever I move the mouse around. It is very annoying.
- SOLUTION: You must have a VGA which isn't supported by the
- graphic/text mouse pointer. Edit GDS.CFG and add the line 'auto, /m0'.
- This will force the mouse to be a character, rather than an arrow in text
- mode.
-
- PROBLEM: The screen colors are ugly.
- SOLUTION: Write a TSR which can tell if GDS is loaded and monitors
- the BIOS screen mode and text screens. Write very involved and optimized
- code which scans the text screen and finds the places where GDS writes
- characters and change their attributes using a user specified color set.
- When someone get's this TSR running nicely, I'll add an easier way to
- change GDS's screen colors. IN OTHER WORDS, LIVE WITH THE COLORS.
-
-
-
- 10. BUG REPORTS
- ---------------
-
- Bugs suck. But, like most things, they happen. I would just like to
- note that I've taken every precaution to limit bugs, and I think I've
- been thorough in my quest for a bug-free program. HOWEVER -- bugs are
- inevitable.
-
- The biggest area I'm suspecting bugs in is video support. There is
- support for some 60 or so super vga cards. There is code which the
- manufacturers say should work. Unfortunately, I can only test what I
- have. I would be interested to find out if certain cards do or don't
- work.
-
- I have tested this software with the Video 7 VRAM VGA, Video 7 1024i, ATI
- Wonder+, Orchid Pro-Designer w/1MB, TVGA (Trident) w/1M, Paradise VGA+
- w/256K, and Oaktech 256K VGA. I have not personally tested it with the
- other cards, but have heard of much success. I have heard of bizarre
- problems with some Paradise boards and am looking for information
- relating to them.
-
- Below I give my address. This is where you should write if you do find a
- problem. I make no guarantees on ever fixing a reported bug, regardless
- of it's nature.
-
- GDS Graphics File Viewer
- 1194 Spring Valley Commons
- Livermore, CA 94550
-
-
-
- 11. REVISION HISTORY
- --------------------
-
- 1.00 02-10-91 First release, hope you like it.
- ---- -------- --------------------------------
- --> No bugs reported yet. (I'm plugging my ears.)
-
-
-
- 1.01 02-11-91 Wow! that was fast!
- ---- -------- -------------------
- --> 'Sort:' menu in earlier versions could easily lock up GDS when
- used to sort by 'Bits per pixel' or 'Resolution' if GDS had not yet read
- file information for all files in file list. Although I haven't seen it,
- this bug may cause stack overflows, 386 exceptions, and all sorts of
- other unpredictable stuff.
-
- --> Palette generation for array images is much more accurate for
- images with varying numbers of bits per pixel. In prior versions, images
- with fewer bits per pixel were not represented equally among pictures
- with many bits per pixel. This problem has been eliminated by padding
- smaller palettes to bias the importance of their individual color ranges.
-
- --> When displaying a 2, 4, 8, or 16 color image in single view mode
- and the screen format used to display the image was an EGA mode, some VGA
- boards would handle the EGA palette and VGA color registers
- inconsistently. This occationally caused a color or two to be incorrect.
- GDS now resets all EGA palette registers and all VGA color registers
- every time the palette is set, which seems to have corrected the problem.
- NEW! Changed behavior of mouse clicks in file list when 'View:' mode
- is set to 'slides'. Users tend to want to point at a file and add it to
- the list rather than deselecting all other entries in favor of the one
- their clicking on. So from now on, when you're doing slides, remember
- that the mouse toggles files!
-
- --> Fixed small moving button click problem in array setup.
-
-
-
- 1.02 02-12-91 QUIX RIX FIX.
- ---- -------- -------------
- NEW! Added RIX support through the Alt-R command. Note that GDS can
- only support the 'UNCOMPRESSED' RIX file formats as RIX Software is not
- releasing any information about their compressed file format. If you
- would really like to see support for compressed RIX files, don't ask me -
- - ask RIX Software.
-
- --> Fixed PCX file write for 16 color screen modes. In previous
- versions, GDS would write odd images with the bits in the bytes flipped
- around, and possibly the plane order reversed. This bug may be a
- reflection of how much time I spent writing PCX support. GDS now reads
- and writes PCX files correctly in all screen modes.
-
-
- 1.03 02-13-91 Slideshow fixups.
- --> Corrected bug in slide shows which could incorrectly display
- images which had been read completely into EMS before being displayed.
- This bug is more common when the user hits the space bar to bypass the
- slide show delay. Earlier versions of GDS could display slide shows with
- image misalignment/fracturing or even garbage in horzontal bands of
- images.
-
- --> Corrected bug in array generation which could crash a system.
- The bug occurs when the individual array images were reduced to less than
- 1:32 of the original image size. This limitation was not protected
- against in prior versions of GDS. GDS is now capable of 1:64 image
- reduction and limits the size of array images to prevent users from
- reaching this limitation.
-
- --> Corrected many bugs in 'Alt-Z' zoom function during single image
- viewing. In prior versions, the zoom feature would inversely compensate
- for the aspect ratio of the screen. This version should handle the zoom
- feature as one would expect.
-
- --> Corrected nasty bug in two dimensional antialiasing when
- displaying zoomed areas. This bug would skew some lines in the display
- to the left of where they should have been drawn. The severity of the
- display problems depended on the level of zooming, the aspect ratio of
- the original image, and the position of the upper left zoom rectangle
- corner.
-
- NEW! Added 'READMAC' file format to list of supported formats.
- Readmac files (.MAC) can be read, but not yet written. Anybody out there
- want to write these files? Let me know. NEW! Added color control to
- single and array views. The overall color level in the palette can be
- adjusted with the ',' and '.' keys (normal case of '<' and '>'). To
- reset the color level, just hit Shift-',' or Shift-'.' ('<' or '>').
- This feature, along with the other image palette options gives the user a
- surprising amount of control over problem images.
-
- NEW! Added page display compensation when generating arrays and using
- 'Alt-F' to fit an image to the display. In previous versions, high
- resolution portrait files would just be remapped to the entire screen.
- GDS now looks at the screen resolution and tries to figure out if it's a
- high resolution page display file.
-
- NEW! Increased EMS support for read-ahead buffering for slideshows.
- Slideshows now read images of any size while the current image is
- displayed. This facility will automatically buffer images, provided
- there is enough available system RAM and/or EMS to hold the images.
-
- NEW! Increased file table size to 2800 files. Yes, now you can have a
- slideshow which will last just under four hours (at 5 seconds between
- images) without repeating an image. Previous versions were limited to
- 2048 files.
-
- NEW! Added 'label' and 'border' preference buttons to array preview
- user interface. The 'Labels:' and 'Borders:' buttons may disappear from
- the text file display screen in future versions.
-
- NEW! Changed user interface for selecting array images. In earlier
- versions, it was necessary to set the 'View:Arrays' and then hit 'Enter'
- or click on the view button in order to start array generation. GDS now
- starts array generation immediately when the user selects 'Arrays of
- reduced images' from the 'View:' menu. There is no longer a
- 'View:Arrays' mode in GDS.
-
- NEW! Increased image reduction by 100%. Array images may now be
- displayed reduced down to 0.04% in 1024x768 graphics modes. With this
- increase, it is now possible to display 2304 reduced images on one
- 1024x768 screen. I encourage anyone who has that many images accessible
- to one machine to try this. At 150K per image, that's over 345 megabytes
- of GIF files. Unfortunately, even with antialiasing off, it should take
- an average of at least 5 seconds per image on a 33Mhz 80386 machine, and
- that works out to about 3 hours and 12 minutes. I want a copy of the
- result!
-
-
-
- 1.04 02-14-91 Quick change act.
- ---- -------- -----------------
- --> Bug corrected with arrow keys and shift key. It shoud now work
- like the documentation says.
- --> Corrected bug with screen clear which would very rarely leave one
- dot per 64K dots in the wrong color.
-
-
- 1.05 02-15-91 Demo Version.
- ---- -------- -------------
- --> "Almost" fully functional version so that you can try before you
- buy. Only some of the "high end" functions are not in this version so
- that you can enjoy it for personal use at no charge.
-
-
-
- TO DO LIST FOR GDS (KNOWN BUGS OR NECESSARY ENHANCEMENTS/CHANGES)
- -----------------------------------------------------------------
-
- Pending Bugs/Things to do
- -------------------------
- lock first <=16 colors to default colors when using limited palette
- get feedback for GIF89a compatability
-
-
- Shareware Distribution Version
- ------------------------------
- Reads GIF, PCX, LBM, MAC
- Writes GIF
- Handles only one path specification
- Will not support any modes higher than 640x480
- No rename/delete file function
- No '+'/'-' (increase/decrease) image size function in single view mode
- No 'Alt-Z' zoom function in single view mode
- No invert palette function in single view mode
- No Shifted arrow keys in single view mode
- No high quality antialiasing
- No 1:3 dithering
- No label/button toggle in array generation
- No palette color limitation function
- Reads only GDS.CFG
-
-
- Registered User Version
- -----------------------
- Reads GIF, LBM, PCX, MAC
- Writes GIF, LBM, PCX
- Handles unlimited path specifications
- Supports any graphics mode resolution
- Rename/delete file function
- '+'/'-' increases/decreases image size (preserves aspect ratio)
- 'Alt-Z' zoom function in single view mode
- No invert palette function in single view mode
- Shifted arrow keys in single view mode work
- High quality antialiasing available
- 1:3 dithering available
- No label/button toggle in array generation
- No palette color limitation function
- Reads GDS.CFG and GDSUSER.CFG
-
-
- Professional Version
- --------------------
- - allows user to toggle labels and borders in array generation
- - Reads and writes GIF, LBM, PCX, RIX
- - Reads MAC
- - Reads GDS.CFG, GDSUSER.CFG, and GDSLOCAL.CFG
- - automatic array generation (continuous until complete)
- - adjustable palette search
- image content palette search (very slow, but very accurate)
- lock palette to image(s)
- source A >> source B >> destination photomontages
- Paint Program:
- menu bar toggle
- foreground/background color choice
- gradient/pattern fills mode
- stencils
- rectangles
- area fill
- text/typefaces
-
- Paint Menus
- -----------
- Image: New
- -----
- Save
- Revert
- -----
- Exit
-
-
- Brush: Grab
- Lasso
- -----
- Load
- Save
- -----
- Revert
- -----
- [x] Opaque
- [_] (##%) Transparent
- [_] (##%) Darken Entire Area
- [_] (##%) Darken From Brush
- [_] (##%) Brighten Area
- [_] (##%) Brighten From Brush
-
-
- Gradient: New
- -----
- Edit
- -----
- Load
- Save
-
-
- View: Palette
- Tools
- -----
- Zoom
- -----
- Preview Image
-
-
- Stencil: Stencil On/Off
- -----
- Edit
- -----
- Load
- Save
-
-
- Font: Load
- -----
- Size
-
- The end (for now!)
-
-
-
-
-
-
-
-
-